package com.ruoyi.cms.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 文章对象 cms_content
 *
 * @author houyong
 * @date 2025-11-08
 */
public class CmsContent extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private String id;

    /**
     * 所属栏目
     */
    @Excel(name = "所属栏目")
    private String categoryId;

    /**
     * 文章内容
     */
    @Excel(name = "文章内容")
    private String contentDetails;

    /**
     * 文章标题
     */
    @Excel(name = "文章标题")
    private String contentTitle;

    /**
     * 文章副标题
     */
    @Excel(name = "文章副标题")
    private String contentShortTitle;

    /**
     * 关键字
     */
    @Excel(name = "关键字")
    private String contentKeyword;

    /**
     * 描述
     */
    @Excel(name = "描述")
    private String contentDescription;

    /**
     * 文章缩略图
     */
    @Excel(name = "文章缩略图")
    private String contentImg;

    /**
     * 文章来源
     */
    @Excel(name = "文章来源")
    private String contentSource;

    /**
     * 文章作者
     */
    @Excel(name = "文章作者")
    private String contentAuthor;

    /**
     * 是否显示0显示 1不显示
     */
    @Excel(name = "是否显示0显示 1不显示")
    private String contentDisplay;

    /**
     * 文章类型
     */
    @Excel(name = "文章类型")
    private String contentType;

    /**
     * 自定义顺序
     */
    @Excel(name = "自定义顺序")
    private Long contentSort;

    /**
     * 文章标签
     */
    @Excel(name = "文章标签")
    private String contentTags;

    /**
     * $column.columnComment
     */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date contentDatetime;

    /**
     * 点击次数
     */
    @Excel(name = "点击次数")
    private Long contentHit;

    /**
     * 文章为链接
     */
    @Excel(name = "文章为链接")
    private String contentOutLink;

    /**
     * 文章静态化标识 0表示未被自动静态化,1反之
     */
    @Excel(name = "文章静态化标识 0表示未被自动静态化,1反之")
    private Long hasDetailHtml;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateDate;

    /**
     * 栏目静态化标识 0表示未被自动静态化,1反之
     */
    @Excel(name = "栏目静态化标识 0表示未被自动静态化,1反之")
    private Long hasListHtml;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /**
     * 删除标记
     */
    @Excel(name = "删除标记")
    private Long del;

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setCategoryId(String categoryId) {
        this.categoryId = categoryId;
    }

    public String getCategoryId() {
        return categoryId;
    }

    public void setContentDetails(String contentDetails) {
        this.contentDetails = contentDetails;
    }

    public String getContentDetails() {
        return contentDetails;
    }

    public void setContentTitle(String contentTitle) {
        this.contentTitle = contentTitle;
    }

    public String getContentTitle() {
        return contentTitle;
    }

    public void setContentShortTitle(String contentShortTitle) {
        this.contentShortTitle = contentShortTitle;
    }

    public String getContentShortTitle() {
        return contentShortTitle;
    }

    public void setContentKeyword(String contentKeyword) {
        this.contentKeyword = contentKeyword;
    }

    public String getContentKeyword() {
        return contentKeyword;
    }

    public void setContentDescription(String contentDescription) {
        this.contentDescription = contentDescription;
    }

    public String getContentDescription() {
        return contentDescription;
    }

    public void setContentImg(String contentImg) {
        this.contentImg = contentImg;
    }

    public String getContentImg() {
        return contentImg;
    }

    public void setContentSource(String contentSource) {
        this.contentSource = contentSource;
    }

    public String getContentSource() {
        return contentSource;
    }

    public void setContentAuthor(String contentAuthor) {
        this.contentAuthor = contentAuthor;
    }

    public String getContentAuthor() {
        return contentAuthor;
    }

    public void setContentDisplay(String contentDisplay) {
        this.contentDisplay = contentDisplay;
    }

    public String getContentDisplay() {
        return contentDisplay;
    }

    public void setContentType(String contentType) {
        this.contentType = contentType;
    }

    public String getContentType() {
        return contentType;
    }

    public void setContentSort(Long contentSort) {
        this.contentSort = contentSort;
    }

    public Long getContentSort() {
        return contentSort;
    }

    public void setContentTags(String contentTags) {
        this.contentTags = contentTags;
    }

    public String getContentTags() {
        return contentTags;
    }

    public void setContentDatetime(Date contentDatetime) {
        this.contentDatetime = contentDatetime;
    }

    public Date getContentDatetime() {
        return contentDatetime;
    }

    public void setContentHit(Long contentHit) {
        this.contentHit = contentHit;
    }

    public Long getContentHit() {
        return contentHit;
    }

    public void setContentOutLink(String contentOutLink) {
        this.contentOutLink = contentOutLink;
    }

    public String getContentOutLink() {
        return contentOutLink;
    }

    public void setHasDetailHtml(Long hasDetailHtml) {
        this.hasDetailHtml = hasDetailHtml;
    }

    public Long getHasDetailHtml() {
        return hasDetailHtml;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setHasListHtml(Long hasListHtml) {
        this.hasListHtml = hasListHtml;
    }

    public Long getHasListHtml() {
        return hasListHtml;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setDel(Long del) {
        this.del = del;
    }

    public Long getDel() {
        return del;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("categoryId", getCategoryId())
                .append("contentDetails", getContentDetails())
                .append("contentTitle", getContentTitle())
                .append("contentShortTitle", getContentShortTitle())
                .append("contentKeyword", getContentKeyword())
                .append("contentDescription", getContentDescription())
                .append("contentImg", getContentImg())
                .append("contentSource", getContentSource())
                .append("contentAuthor", getContentAuthor())
                .append("contentDisplay", getContentDisplay())
                .append("contentType", getContentType())
                .append("contentSort", getContentSort())
                .append("contentTags", getContentTags())
                .append("contentDatetime", getContentDatetime())
                .append("contentHit", getContentHit())
                .append("contentOutLink", getContentOutLink())
                .append("hasDetailHtml", getHasDetailHtml())
                .append("updateDate", getUpdateDate())
                .append("hasListHtml", getHasListHtml())
                .append("updateBy", getUpdateBy())
                .append("createDate", getCreateDate())
                .append("createBy", getCreateBy())
                .append("del", getDel())
                .toString();
    }
}
